package com.briup.day16;

/**
 * @author ThinkBook
 */
public class Test02_JDK8 {
    public static void main(String[] args) {
        //1.实例化接口的实现类对象
        JDK8Action ac = new Demo();

        //2.接口引用 调用 重写抽象方法
        ac.start();
        ac.stop();

        //3.接口引用 调用 default方法
        ac.dFun();

        //4.接口引用 调用 static方法
        // 注意：接口中的static方法只能借助接口名调用
        //ac.sFun();  //ERROR:
        JDK8Action.sFun();
        //Demo.sFun(); //ERROR

    }
}
interface JDK8Action {
    // 接口中静态常量
    String OPS_MODE = "auto";

    // 接口中抽象方法
    void start();
    void stop();

    //下面是JDK8新特性
    //默认方法
    public default void dFun() {
        System.out.println("in default fun() ...");
    }

    //静态方法
    public static void sFun() {
        System.out.println("in static fun() ...");
    }
}
class Demo implements JDK8Action{

    @Override
    public void start() {
        System.out.println("重写start() ...");
    }

    @Override
    public void stop() {
        System.out.println("重写stop() ...");
    }
}
